LangGraph is a library built on top of LangChain that allows you to build stateful, multi-actor applications using a graph-based execution model. Nodes represent computation steps and edges control the flow between them. It supports cycles, branching, and human-in-the-loop interrupts.

LangGraph compiles a StateGraph into a runnable. Each node receives the current state and returns a partial update. A reducer function (like add_messages) merges updates back into the state.

LangGraph supports checkpointing via a pluggable checkpointer interface. Built-in checkpointers include MemorySaver (in-process), SqliteSaver (local SQLite), and PostgresSaver (production). Checkpoints enable pause-and-resume, time-travel debugging, and multi-turn conversations.

The interrupt() primitive in LangGraph suspends graph execution at a node and waits for a human to provide input before resuming. This is the foundation for human-in-the-loop workflows. The graph must be compiled with a checkpointer for interrupts to work.
